{
    {
        NSInteger a_dd = 120;
        CGFloat a_index = 24.6;
        if (ceilf(a_index) > a_dd) {
            // 笔画结束动画
               CABasicAnimation *strokeEndAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
               strokeEndAnimation.duration = 1.0;
               strokeEndAnimation.fromValue = @0.0;
               strokeEndAnimation.toValue = @1.0;
               strokeEndAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
               
               // 笔画开始动画
               CABasicAnimation *strokeStartAnimation = [CABasicAnimation animationWithKeyPath:@"strokeStart"];
               strokeStartAnimation.duration = 1.0;
               strokeStartAnimation.fromValue = @0.0;
               strokeStartAnimation.toValue = @1.0;
               strokeStartAnimation.beginTime = 0.5; // 延迟开始
               strokeStartAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
               
               // 旋转动画
               CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
               rotationAnimation.duration = 2.0;
               rotationAnimation.fromValue = @0.0;
               rotationAnimation.toValue = @(M_PI * 2);
               rotationAnimation.repeatCount = HUGE_VALF;
               
               // 组合动画
               CAAnimationGroup *animationGroup = [CAAnimationGroup animation];
               animationGroup.duration = 2.0;
               animationGroup.repeatCount = HUGE_VALF;
               animationGroup.animations = @[strokeEndAnimation, strokeStartAnimation];
        }
    }
}
